内网穿透系列

您所在的位置:网站首页 container manager安装zerotier 内网穿透系列

内网穿透系列

2024-04-25 16:36| 来源: 网络整理| 查看: 265

一.介绍

一直以来,我只知道日本某大学开发的某款软件可以在没有TUN/TAP驱动的容器中运行,而且效率还相当一般,直到我后来发现了ZeroTier,这玩意有常规的TUN/TAP模式,也有一个特殊的Network Containers 模式(目前已经改名为ZeroTier SDK——>然后又变成libzt了 ),通过实现一个轻量级的应用层 TCP/IP API 来 hook 现有应用程序的 Socket API,这样可以使现有的程序也能使用 ZeroTier 技术连接其它主机,也是挺牛逼的,不过不清楚是否有兼容性问题,个人感觉效率应该会比某软件的SecureNAT要高不少。

和其它P2P VPN不同的是这个是有个后台来管理维护你的私人网络的,而它的加入网络是通过一串唯一的ID来实现的,它还有Peer和Controller等一些概念,个人根据其在GitHub上开源的内容来看,它的Controller是个API控制端,Peers负责构建它的整个网络底层架构,这里面还有Planet和Leaf两种类型的节点,当Join命令发出时,你的客户端会接入这个网络,并在网络中注册唯一ID,然后根据你Join所选择的ID从Controller拉取网络配置。

二.安装配置

这个主要得看你安装的环境,在正常的支持TUN/TAP的环境下,一切都很简单,官方提供了一键,具体请查看官方网站——>传送门

12 curl -s 'https://pgp.mit.edu/pks/lookup?op=get&search=0x1657198823E52A61' | gpg --import && \if z=$(curl -s 'https://install.zerotier.com/' | gpg); then echo "$z" | sudo bash; fi

自动识别是Debian系还是RedHat系,全自动,美滋滋。对于Mac和Windows来说,提供了安装包,手机客户端也都有,甚至还有各种NAS平台的插件包,也是非常方便

之后先在官方管理后台——>传送门   注册账号,然后创建一个Network并为其配置基本的属性,比如分配的IP地址段之类的

左上角的Network ID就是你的网络ID了,在配置完后,在你安装了客户端的机器上运行如下命令

1 /var/lib/zerotier-one/zerotier-cli join 网络ID

然后返回成功就说明OK了,往下翻上面那个页面,不一会儿下方会出现你的客户端,勾选前方的auth就能允许加入Network,然后你在同一个网络中的各个客户端就能用分配的内网IP通信了

而对于无TUN/TAP支持的环境来说,就可能比较麻烦了,我用的是别人备份的旧版本,新版本的libzt实在是暂时还没搞明白怎么用,如果有谁搞定了请留个言告诉下怎么用

12345678910 git clone https://notabug.org/bignose/zerotier-one.gitmake netcon mkdir /var/lib/zerotier-onecp -ra zerotier-* /var/lib/zerotier-onecp libzerotierintercept.so netcon/liblwip.so /var/lib/zerotier-one /var/lib/zerotier-one/zerotier-netcon-service -d/var/lib/zerotier-one/zerotier-cli join 网络IDZT_NC_NETWORK=/var/lib/zerotier-one/nc_网络ID LD_PRELOAD=/var/lib/zerotier-one/libzerotierintercept.so /bin/bash

最后那条是在新的bash进程中hook新进程,从而实现通过ZeroTier通信,最大的问题还是这个是1.1.4版本的,目前最新版本已经是1.2.4了,所以也不知道有啥bug,

 

Senraの小窝原创文章,转载请注明来自:内网穿透系列——ZeroTier(能在容器中不依赖TUN/TAP使用的P2P VPN)

class="post-about">


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3